package com.springboot.demo.service;

import com.springboot.demo.entity.HistoryData;
import com.springboot.demo.entity.PageRequest;
import com.springboot.demo.entity.PageResult;
import com.springboot.demo.entity.vo.DevUserIdVO;

import java.util.Date;
import java.util.List;

/**
 * @author wubc683
 * @desc
 * @date 2021-12-23 16:06
 */
public interface AlarmService {

    /**
     * 获取历史数据信息
     * @param userId
     * @param sceneId
     * @param startDate
     * @param endDate
     * @param sort
     * @param search
     * @param request
     * @return: com.springboot.demo.entity.PageResult
     */
    PageResult getHistoryDataInfo(Long userId, Long sceneId,Date startDate, Date endDate, String sort, String search,
                                  PageRequest request);

    /**
     * 获取历史报警信息
     * @param userId
     * @param sceneId
     * @param startDate
     * @param endDate
     * @param sort
     * @param search
     * @param request
     * @return: com.springboot.demo.entity.PageResult
     */
    PageResult getHistoryAlarmInfo(Long userId, Long sceneId,Date startDate, Date endDate, String sort, String search,
                                   PageRequest request);

    /**
     * 获取历史变量和报警条数
     * @param userId
     * @return: java.lang.Integer
     */
    Integer getHistoryAlarmCount(Long userId);

    /**
     * 设置历史变量和报警条数
     * @param userId
     * @return: void
     */
    void setHistoryAlarmCount(Long userId ,Integer count);

    /**
     * 删除历史报警
     * @param userId
     * @param startDate
     * @param endDate
     * @return: void
     */
    void deleteHistoryAlarm(Long userId, Date startDate, Date endDate);

    /**
     * 删除历史变量
     * @param userId
     * @param startDate
     * @param endDate
     * @return: void
     */
    void deleteHistoryData(Long userId, Date startDate, Date endDate);
}
